5.1.1 Crear y retirar moneda digital a cualquier billetera
#Breve descripción: retire moneda digital a la interfaz comercial de retiro de la billetera, lo que permite a los usuarios transferir usdt a la dirección de billetera especificada (tipo de cambio de mercado)
- Método de solicitud: POST
- Interfaz de solicitud: https://gateway-domain/wallet-trade-merchant/v1/pay/blockchain/create
- Solicitar tipo de medio (formato de datos JSON) Tipo de contenido: aplicación/json
Parámetros de solicitud
| Nombre del parámetro | Tipo | Obligatorio | Significado del parámetro | Descripción del parámetro |
|---|---|---|---|---|
key | string | Sí | Clave de comerciante | apiKey |
localOrderId | string | Sí | Número de pedido local de la plataforma comercial | La plataforma comercial genera un número de pedido único a nivel local |
localUserId | string | No | ID de usuario local de la plataforma comercial | ID de usuario local de la plataforma comercial |
amount | number | Sí | Cantidad | Monto del pedido |
network | string | Sí | Red principal | Mainnet (actualmente solo admite TRON, BSC, POLYGON, ETHEREUM) |
address | string | Sí | Dirección de retiro | Dirección de retiro |
notifyUrl | string | No | Dirección de devolución de llamada | Una vez realizado el pedido con éxito, la dirección del comerciante será notificada mediante la solicitud de devolución de llamada API (para obtener detalles sobre la devolución de llamada, consulte el Documento 3) |
currency | string | Sí | Moneda | Moneda del pedido |
userCurrency | string | Sí | La moneda realmente recibida por el usuario | La moneda realmente recibida por el usuario |
successRedirectUrl | string | No | Dirección | Saltar automáticamente a la dirección después del éxito |
isBlockchain | boolean | No | Ya sea para devolver información de blockchain (falso predeterminado) | Cuando sea verdadero, la solicitud de devolución de llamada llevará la información de la transacción en la cadena de pedidos |
expireSecond | Long | No | Marca de tiempo de vencimiento (segundos) | |
sign | string | Sí | Firma | Consulte Algoritmo de firma para obtener más detalles |
Solicitar muestra json
{
"key": "weOfDMRpUAvAeOs5",
"localOrderId": "TestOTM0625ROB017",
"notifyUrl": "http://www.baidu.com/728-TestOTM0625ROB01",
"amount": 20,
"network": "TRON",
"currency": "CNY",
"userCurrency": "USDT",
"successRedirectUrl": "http://www.baidu.com",
"address": "TPutFhYUQnrRxHSmKVwjp55vgk9QY6r5nS",
"isBlockchain": true,
"sign": "834e924f7846fe3a65b53e6680c8e53a"
}
Ejemplo de respuesta json
{
"code": 0,
"success": true,
"message": null,
"data": {
"orderId": 473220978729221,
"localUserId": null,
"localOrderId": "TestOTM0625ROB017",
"orderType": "WITHDRAW",
"orderBizType": "WITHDRAW_ANY_DIGITAL_WALLET",
"targetType": "EXTERNAL",
"network": "TRON",
"address": "TPutFhYUQnrRxHSmKVwjp55vgk9QY6r5nS",
"currency": "CNY",
"userCurrency": "USDT",
"amount": "20",
"userAmount": "2.994723",
"userReceivableAmount": "2.994723",
"rate": "6.67841204",
"rateExpression": "1USDT≈6.6784CNY"
}
}
Descripción del parámetro de datos de respuesta
| Nombre del parámetro | Tipo | Significado del parámetro | Observaciones |
|---|---|---|---|
orderId | string | ID de pedido | |
localUserId | string | ID de usuario local del comerciante | |
localOrderId | string | Número de pedido local del comerciante | |
orderType | enum | Tipo de pedido | PAYMENT:支付订单 | WITHDRAW:提款订单 |
orderBizType | enum | Tipo de negocio de pedido | La descripción del tipo orderBizType es la siguiente |
targetType | enum | Tipo de objetivo | La descripción del tipo targetType es la siguiente |
network | string | Tipo de red principal | |
address | string | Dirección | Dirección de pago en cadena |
currency | string | Moneda del pedido | |
userCurrency | string | Moneda de llegada | |
amount | string | Importe del pedido | |
userAmount | string | Importe pagado por el usuario | |
userReceivableAmount | string | Importe por cobrar del usuario | |
rate | string | Tipo de cambio | |
rateExpression | string | Expresión del tipo de cambio |
descripción del tipo orderBizType:
- PAYMENT_WALLET_SCAN Pago con código de escaneo de billetera MINPAY
- PAYMENT_TRANSFER depósito directo de dirección vinculante de moneda digital
- PAYMENT_ANY_DIGITAL_SCAN Escanee el código QR para pagar cualquier cantidad de moneda digital
- FROMDRAW_WALLET retirar dinero a la billetera MINPAY
- FROMDRAW_ANY_DIGITAL_WALLET Retirar moneda digital a cualquier billetera
- PAYMENT_FIXED_DIGITAL_SCAN pago con código de escaneo de cantidad limitada en moneda digital
- BATCH_PAY pago por lotes
descripción del tipo targetType:
- INTERNO dirección interna
- EXTERNA dirección externa
- Dirección abstracta del usuario USUARIO
La devolución de llamada devuelve datos json
De forma predeterminada, todos los parámetros de devolución de llamada participan en la verificación de firma. Para obtener detalles sobre los parámetros de devolución de llamada, consulte devolución de llamada ]
Datos de devolución de llamada
{
"amount":"20",
"bizType":"WITHDRAW_ANY_DIGITAL_WALLET",
"blockchain":{
"network":"TRON",
"receiverAddress":"TPutFhYUQnrRxHSmKVwjp55vgk9QY6r5nS",
"senderAddress":"TE35TrUfHjbGEBsVS6zVXdHS8HxXCWwC2y",
"txId":"c5503ecf1f0979d5bc7a7e16c3cad20290449913ab47a7e18dfca6ba6f2725fa"
},
"currency":"CNY",
"localOrderId":"TestOTM0625ROB017",
"merchantActualAmount":"57.32",
"merchantCurrency":"CNY",
"merchantId":302992856974,
"merchantPaidAmount":"20",
"notifyTime":1772259079786,
"orderCreateTime":1772259032870,
"orderId":"473220978729221",
"status":"SUCCESS",
"type":"WITHDRAW",
"userAmount":"2.994723",
"userCurrency":"USDT",
"userMinerFee":"0",
"userReceivableAmount":"2.994723",
"sign":"742e64d684648c32c7ad33cf8d5604e2",
"key":"9yUreYgTRtit39Dy"
}
Cuando reciba la notificación de devolución de llamada, devuelva directamente la cadena éxito después de que se complete el procesamiento, lo que indica que el mensaje se recibió y procesó exitosamente. Después de que el sistema reciba la respuesta exitosa, ya no enviará la devolución de llamada repetidamente. Si no se recibe la respuesta esperada (no se devuelve el éxito o se devuelve una excepción), el sistema reenviará la notificación de devolución de llamada de acuerdo con el mecanismo de reintento escalonado, reintentando hasta 14 veces. Los intervalos de reintento actuales son: 15, 15, 30, 180, 600, 1200, 1800, 1800, 1800, 3600, 10800, 10800, 21600, 21600